'\" t
.\"     Title: \fBmysql-test-run.pl\fR
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\"      Date: 11/29/2010
.\"    Manual: MySQL Database System
.\"    Source: MySQL
.\"  Language: English
.\"
.TH "\FBMYSQL\-TEST\-RUN\" "1" "11/29/2010" "MySQL" "MySQL Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mysql-test-run.pl
.SH "NAME"
mysql-test-run.pl \- run MySQL test suite
.SH "SYNOPSIS"
.HP \w'\fBmysql\-test\-run\&.pl\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u
\fBmysql\-test\-run\&.pl [\fR\fB\fIoptions\fR\fR\fB]\fR
.SH "DESCRIPTION"
.PP
The
\fBmysql\-test\-run\&.pl\fR
Perl script is the main application used to run the MySQL test suite\&. It invokes
\fBmysqltest\fR
to run individual test cases\&.
.PP
Invoke
\fBmysql\-test\-run\&.pl\fR
in the
mysql\-test
directory like this:
.sp
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql\-test\-run\&.pl [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fItest_name\fR\fR\fB] \&.\&.\&.\fR
.fi
.if n \{\
.RE
.\}
.PP
Each
\fItest_name\fR
argument names a test case\&. The test case file that corresponds to the test name is
t/\fItest_name\fR\&.test\&.
.PP
For each
\fItest_name\fR
argument,
\fBmysql\-test\-run\&.pl\fR
runs the named test case\&. With no
\fItest_name\fR
arguments,
\fBmysql\-test\-run\&.pl\fR
runs all
\&.test
files in the
t
subdirectory\&.
.PP
If no suffix is given for the test name, a suffix of
\&.test
is assumed\&. Any leading path name is ignored\&. These commands are equivalent:
.sp
.if n \{\
.RS 4
.\}
.nf
shell> \fBmysql\-test\-run\&.pl mytest\fR
shell> \fBmysql\-test\-run\&.pl mytest\&.test\fR
shell> \fBmysql\-test\-run\&.pl t/mytest\&.test\fR
.fi
.if n \{\
.RE
.\}
.PP
A suite name can be given as part of the test name\&. That is, the syntax for naming a test is:
.sp
.if n \{\
.RS 4
.\}
.nf
[\fIsuite_name\fR\&.]\fItest_name\fR[\&.\fIsuffix\fR]
.fi
.if n \{\
.RE
.\}
.PP
If a suite name is given,
\fBmysql\-test\-run\&.pl\fR
looks in that suite for the test\&. The test file corresponding to a test named
\fIsuite_name\&.test_name\fR
is found in
suite/\fIsuite_name\fR/t/\fItest_name\fR\&.test\&. There is also an implicit suite name
main
for the tests in the top
t
directory\&. With no suite name,
\fBmysql\-test\-run\&.pl\fR
looks in the default list of suites for a match and runs the test in any suites where it finds the test\&. Suppose that the default suite list is
main,
binlog,
rpl, and that a test
mytest\&.test
exists in the
main
and
rpl
suites\&. With an argument of
mytest
or
mytest\&.test,
\fBmysql\-test\-run\&.pl\fR
will run
mytest\&.test
from the
main
and
rpl
suites\&.
.PP
To run a family of test cases for which the names share a common prefix, use the
\fB\-\-do\-test=\fR\fB\fIprefix\fR\fR
option\&. For example,
\fB\-\-do\-test=rpl\fR
runs the replication tests (test cases that have names beginning with
rpl)\&.
\fB\-\-skip\-test\fR
has the opposite effect of skipping test cases for which the names share a common prefix\&.
.PP
The argument for the
\fB\-\-do\-test\fR
and
\fB\-\-skip\-test\fR
options also allows more flexible specification of which tests to perform or skip\&. If the argument contains a pattern metacharacter other than a lone period, it is interpreted as a Perl regular expression and applies to test names that match the pattern\&. If the argument contains a lone period or does not contain any pattern metacharacters, it is interpreted the same way as previously and matches test names that begin with the argument value\&. For example,
\fB\-\-do\-test=testa\fR
matches tests that begin with
testa,
\fB\-\-do\-test=main\&.testa\fR
matches tests in the
main
test suite that begin with
testa, and
\fB\-\-do\-test=main\&.*testa\fR
matches test names that contain
main
followed by
testa
with anything in between\&. In the latter case, the pattern match is not anchored to the beginning of the test name, so it also matches names such as
xmainytesta\&.
.PP
To perform setup prior to running tests,
\fBmysql\-test\-run\&.pl\fR
needs to invoke
\fBmysqld\fR
with the
\fB\-\-bootstrap\fR
and
\fB\-\-skip\-grant\-tables\fR
options\&. If MySQL was configured with the
\fB\-\-disable\-grant\-options\fR
option,
\fB\-\-bootstrap\fR,
\fB\-\-skip\-grant\-tables\fR, and
\fB\-\-init\-file\fR
will be disabled\&. To handle this, set the
MYSQLD_BOOTSTRAP
environment variable to the full path name of a server that has all options enabled\&.
\fBmysql\-test\-run\&.pl\fR
will use that server to perform setup; it is not used to run the tests\&.
.PP
The
init_file
test will fail if
\fB\-\-init\-file\fR
is disabled\&. This is an expected failure that can be handled as follows:
.sp
.if n \{\
.RS 4
.\}
.nf
shell> \fBexport MYSQLD_BOOTSTRAP\fR
shell> \fBMYSQLD_BOOTSTRAP=/full/path/to/mysqld\fR
shell> \fBmake test force="\-\-skip\-test=init_file"\fR
.fi
.if n \{\
.RE
.\}
.PP
To run
\fBmysql\-test\-run\&.pl\fR
on Windows, you\'ll need either Cygwin or ActiveState Perl to run it\&. You may also need to install the modules required by the script\&. To run the test script, change location into the
mysql\-test
directory, set the
MTR_VS_CONFIG
environment variable to the configuration you selected earlier (or use the
\fB\-\-vs\-config\fR
option), and invoke
\fBmysql\-test\-run\&.pl\fR\&. For example (using Cygwin and the
\fBbash\fR
shell):
.sp
.if n \{\
.RS 4
.\}
.nf
shell> \fBcd mysql\-test\fR
shell> \fBexport MTR_VS_CONFIG=debug\fR
shell> \fB\&./mysqltest\-run\&.pl \-\-force \-\-timer\fR
shell> \fB\&./mysqltest\-run\&.pl \-\-force \-\-timer \-\-ps\-protocol\fR
.fi
.if n \{\
.RE
.\}
.PP
\fBmysql\-test\-run\&.pl\fR
uses several environment variables\&. Some of them are listed in the following table\&. Some of these are set from the outside and used by
\fBmysql\-test\-run\&.pl\fR, others are set by
\fBmysql\-test\-run\&.pl\fR
instead, and may be referred to in tests\&.
.TS
allbox tab(:);
lB lB.
T{
Variable
T}:T{
Meaning
T}
.T&
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l
l l.
T{
MTR_VERSION
T}:T{
If set to 1, will run the older version 1 of
                \fBmysql\-test\-run\&.pl\fR\&. This will affect
                what functionailty is available and what command line
                options are supported\&.
T}
T{
MTR_MEM
T}:T{
If set to anything, will run tests with files in "memory" using tmpfs or
                ramdisk\&. Not available on Windows\&. Same as
                \fB\-\-mem\fR option
T}
T{
MTR_PARALLEL
T}:T{
If set, defines number of parallel threads executing tests\&. Same as
                \fB\-\-parallel\fR option
T}
T{
MTR_BUILD_THREAD
T}:T{
If set, defines which port number range is used for the server
T}
T{
MTR_PORT_BASE
T}:T{
If set, defines which port number range is used for the server
T}
T{
MTR_\fINAME\fR_TIMEOUT
T}:T{
Setting of a timeout in minutes or seconds, corresponding to command
                line option
                \fB\-\-\fR\fB\fIname\fR\fR\fB\-timeout\fR\&.
                Avaliable timeout names are TESTCASE,
                SUITE (both in minutes) and
                START, SHUTDOWN
                (both in seconds)\&. These variables are supported from
                MySQL 5\&.1\&.44\&.
T}
T{
MYSQL_TEST
T}:T{
Path name to \fBmysqltest\fR binary
T}
T{
MYSQLD_BOOTSTRAP
T}:T{
Full path name to \fBmysqld\fR that has all options enabled
T}
T{
MYSQLTEST_VARDIR
T}:T{
Path name to the var directory that is used for
                logs, temporary files, and so forth
T}
T{
MYSQL_TEST_DIR
T}:T{
Full path to the mysql\-test directory where tests
                are being run from
T}
T{
MYSQL_TMP_DIR
T}:T{
Path to temp directory used for temporary files during tests
T}
.TE
.sp 1
.PP
The variable
MTR_PORT_BASE
was added in MySQL 5\&.1\&.45 as a more logical replacement for
MTR_BUILD_THREAD\&. It gives the actual port number directly (will be rounded down to a multiple of 10)\&. If you use
MTR_BUILD_THREAD, the port number is found by multiplying this by 10 and adding 10000\&.
.PP
Tests sometimes rely on certain environment variables being defined\&. For example, certain tests assume that
MYSQL_TEST
is defined so that
\fBmysqltest\fR
can invoke itself with
exec $MYSQL_TEST\&.
.PP
Other tests may refer to the last three variables listed in the preceeding table, to locate files to read or write\&. For example, tests that need to create files will typically put them in
$MYSQL_TMP_DIR/\fIfile_name\fR\&.
.PP
If you are running
\fBmysql\-test\-run\&.pl\fR
version 1 by setting
MTR_VERSION, note that this only affects the test driver, not the test client (and its language) or the tests themselves\&.
.PP
A few tests might not run with version 1 because they depend on some feature of version 2\&. You may have those tests skipped by adding the test name to the file
lib/v1/incompatible\&.tests\&. This feature is available from MySQL 5\&.1\&.40\&.
.PP
\fBmysql\-test\-run\&.pl\fR
supports the options in the following list\&. An argument of
\fB\-\-\fR
tells
\fBmysql\-test\-run\&.pl\fR
not to process any following arguments as options\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: help option
.\" help option: mysql-test-run.pl
\fB\-\-help\fR,
\fB\-h\fR
.sp
Display a help message and exit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: big-test option
.\" big-test option: mysql-test-run.pl
\fB\-\-big\-test\fR
.sp
Allow tests marked as "big" to run\&. Tests can be thus marked by including the line
\fB\-\-source include/big_test\&.inc\fR, and they will only be run if this option is given, or if the environment variable
BIG_TEST
is set to 1\&.
.sp
This is typically done for tests that take very long to run, or that use very much resources, so that they are not suitable for running as part of a normal test suite run\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: build-thread option
.\" build-thread option: mysql-test-run.pl
\fB\-\-build\-thread=\fR\fB\fInumber\fR\fR
.sp
Specify a number to calculate port numbers from\&. The formula is 10 *
\fIbuild_thread\fR
+ 10000\&. Instead of a number, it can be set to
auto, which is also the default value, in which case
\fBmysql\-test\-run\&.pl\fR
will allocate a number unique to this host\&.
.sp
The value (number or
auto) can also be set with the
MTR_BUILD_THREAD
environment variable\&.
.sp
From MySQL 5\&.1\&.45, the more logical
\fB\-\-port\-base\fR
is supported as an alternative\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: callgrind option
.\" callgrind option: mysql-test-run.pl
\fB\-\-callgrind\fR
.sp
Instructs
\fBvalgrind\fR
to use
\fBcallgrind\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: check-testcases option
.\" check-testcases option: mysql-test-run.pl
\fB\-\-check\-testcases\fR
.sp
Check test cases for side effects\&. This is done by checking system state before and after each test case; if there is any difference, a warning to that effect will be written, but the test case will not be marked as failed because of it\&. This check is enabled by default\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: client-bindir option
.\" client-bindir option: mysql-test-run.pl
\fB\-\-client\-bindir=\fR\fB\fIpath\fR\fR
.sp
The path to the directory where client binaries are located\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: client-ddd option
.\" client-ddd option: mysql-test-run.pl
\fB\-\-client\-ddd\fR
.sp
Start
\fBmysqltest\fR
in the
\fBddd\fR
debugger\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: client-debugger option
.\" client-debugger option: mysql-test-run.pl
\fB\-\-client\-debugger=\fR\fB\fIdebugger\fR\fR
.sp
Start
\fBmysqltest\fR
in the named debugger\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: client-gdb option
.\" client-gdb option: mysql-test-run.pl
\fB\-\-client\-gdb\fR
.sp
Start
\fBmysqltest\fR
in the
\fBgdb\fR
debugger\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: client-libdir option
.\" client-libdir option: mysql-test-run.pl
\fB\-\-client\-libdir=\fR\fB\fIpath\fR\fR
.sp
The path to the directory where client libraries are located\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: combination option
.\" combination option: mysql-test-run.pl
\fB\-\-combination=\fR\fB\fIvalue\fR\fR
.sp
Extra option to pass to
\fBmysqld\fR\&. The value should consist of a single
\fBmysqld\fR
option including dashes\&. This option is similar to
\fB\-\-mysqld\fR
but has a different effect\&.
\fBmysql\-test\-run\&.pl\fR
executes multiple test runs, using the options for each instance of
\fB\-\-combination\fR
in successive runs\&. If
\fB\-\-combination\fR
is given only once, it has no effect\&. For test runs specific to a given test suite, an alternative to the use of
\fB\-\-combination\fR
is to create a
combinations
file in the suite directory\&. The file should contain a section of options for each test run\&. See
Section\ \&4.9, \(lqPassing Options from mysql-test-run.pl to mysqld or mysqltest\(rq\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: comment option
.\" comment option: mysql-test-run.pl
\fB\-\-comment=\fR\fB\fIstr\fR\fR
.sp
Write
\fIstr\fR
to the output within lines filled with
#, as a form of banner\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: compress option
.\" compress option: mysql-test-run.pl
\fB\-\-compress\fR
.sp
Compress all information sent between the client and the server if both support compression\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: cursor-protocol option
.\" cursor-protocol option: mysql-test-run.pl
\fB\-\-cursor\-protocol\fR
.sp
Pass the
\fB\-\-cursor\-protocol\fR
option to
\fBmysqltest\fR
(implies
\fB\-\-ps\-protocol\fR)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: ddd option
.\" ddd option: mysql-test-run.pl
\fB\-\-ddd\fR
.sp
Start
\fBmysqld\fR
in the
\fBddd\fR
debugger\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: debug option
.\" debug option: mysql-test-run.pl
\fB\-\-debug\fR
.sp
Dump trace output for all clients and servers\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: debugger option
.\" debugger option: mysql-test-run.pl
\fB\-\-debugger=\fR\fB\fIdebugger\fR\fR
.sp
Start
\fBmysqld\fR
using the named debugger\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: debug-sync-timeout option
.\" debug-sync-timeout option: mysql-test-run.pl
\fB\-\-debug\-sync\-timeout=\fR\fB\fIN\fR\fR
.sp
Controls whether the Debug Sync facility for testing and debugging is enabled\&. The option value is a timeout in seconds\&. The default value is 300\&. A value of 0 disables Debug Sync\&. The value of this option also becomes the default timeout for individual synchronization points\&.
.sp
\fBmysql\-test\-run\&.pl\fR
passes
\fB\-\-loose\-debug\-sync\-timeout=\fR\fB\fIN\fR\fR
to
\fBmysqld\fR\&. The
\fB\-\-loose\fR
prefix is used so that
\fBmysqld\fR
does not fail if Debug Sync is not compiled in\&.
.sp
For information about using the Debug Sync facility for testing, see
Section\ \&4.14, \(lqThread Synchronization in Test Cases\(rq\&.
.sp
This option was added in MySQL 5\&.1\&.41/5\&.5\&.0/6\&.0\&.6\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: defaults-file option
.\" default-file option: mysql-test-run.pl
\fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR
.sp
Use the named file as fixed config file template for all tests\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: defaults_extra_file option
.\" default_extra_file option: mysql-test-run.pl
\fB\-\-defaults_extra_file=\fR\fB\fIfile_name\fR\fR
.sp
Add setting from the named file to all generated configs\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: do-test option
.\" do-test option: mysql-test-run.pl
\fB\-\-do\-test=\fR\fB\fIprefix\fR\fR
.sp
Run all test cases having a name that begins with the given
\fIprefix\fR
value\&. This option provides a convenient way to run a family of similarly named tests\&.
.sp
The argument for the
\fB\-\-do\-test\fR
option also allows more flexible specification of which tests to perform\&. If the argument contains a pattern metacharacter other than a lone period, it is interpreted as a Perl regular expression and applies to test names that match the pattern\&. If the argument contains a lone period or does not contain any pattern metacharacters, it is interpreted the same way as previously and matches test names that begin with the argument value\&. For example,
\fB\-\-do\-test=testa\fR
matches tests that begin with
testa,
\fB\-\-do\-test=main\&.testa\fR
matches tests in the
main
test suite that begin with
testa, and
\fB\-\-do\-test=main\&.*testa\fR
matches test names that contain
main
followed by
testa
with anything in between\&. In the latter case, the pattern match is not anchored to the beginning of the test name, so it also matches names such as
xmainytestz\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: embedded-server option
.\" embedded-server option: mysql-test-run.pl
\fB\-\-embedded\-server\fR
.sp
Use a version of
\fBmysqltest\fR
built with the embedded server\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: enable-disabled option
.\" enable-disabled option: mysql-test-run.pl
\fB\-\-enable\-disabled\fR
.sp
Ignore any
disabled\&.def
file, and run also tests marked as disbaled\&. Success or failure of those tests will be reported the same way as other tests\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: experimental option
.\" experimental option: mysql-test-run.pl
\fB\-\-experimental=\fR\fB\fIfile_name\fR\fR
.sp
Specify a file that contains a list of test cases that should be displayed with the
[ exp\-fail ]
code rather than
[ fail ]
if they fail\&. This option was added in MySQL 5\&.1\&.33\&.
.sp
For an example of a file that might be specified using this option, see
mysql\-test/collections/default\&.experimental\&.
.sp
From MySQL 5\&.1\&.51, it\'s possible to supply more than one
\fB\-\-experimental\fR, test cases listed in all the files will be treated as experimental\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: extern option
.\" extern option: mysql-test-run.pl
\fB\-\-extern\fR
\fIoption\fR=\fIvalue\fR
.sp
Use an already running server\&. The option/value pair is what is needed by the
\fBmysql\fR
client to connect to the server\&. Each
\fB\-\-extern\fR
can only take one option/value pair as argument, so it you need more you need to repeat
\fB\-\-extern\fR
for each of them\&. Example:
.sp
.if n \{\
.RS 4
.\}
.nf
      \&./mysql\-test\-run\&.pl \-\-extern socket=var/tmp/mysqld\&.1\&.sock alias
.fi
.if n \{\
.RE
.\}
.sp
Note: If a test case has an
\&.opt
file that requires the server to be restarted with specific options, the file will not be used\&. The test case likely will fail as a result\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: fast option
.\" fast option: mysql-test-run.pl
\fB\-\-fast\fR
.sp
Do not perform controlled shutdown when servers need to be restarted or at the end of the test run\&. This is equivalent to using
\-\-shutdown\-timeout=0\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: force option
.\" force option: mysql-test-run.pl
\fB\-\-force\fR
.sp
Normally,
\fBmysql\-test\-run\&.pl\fR
exits if a test case fails\&.
\fB\-\-force\fR
causes execution to continue regardless of test case failure\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: force-restart option
.\" force-restart option: mysql-test-run.pl
\fB\-\-force\-restart\fR
.sp
Always restart the server(s) between each tast case, whether it\'s needed or not\&. Will also restart between repeated runs of the same test case\&. This may be useful e\&.g\&. when looking for the source of a memory leak, as there will only have been one test run before the server exits\&.
.sp
The
\fB\-\-force\-restart\fR
option was added in MySQL version 5\&.1\&.52\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: gcov option
.\" gcov option: mysql-test-run.pl
\fB\-\-gcov\fR
.sp
Run tests with the
\fBgcov\fR
test coverage tool\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: gdb option
.\" gdb option: mysql-test-run.pl
\fB\-\-gdb\fR
.sp
Start
\fBmysqld\fR
in the
\fBgdb\fR
debugger\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: gprof option
.\" gprof option: mysql-test-run.pl
\fB\-\-gprof\fR
.sp
Run tests with the
\fBgprof\fR
profiling tool\&.
\fB\-\-gprof\fR
was added in 5\&.1\&.45\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: include-ndbcluster option
.\" include-ndbcluster option: mysql-test-run.pl
\fB\-\-include\-ndbcluster\fR,
.\" mysql-test-run.pl: include-ndb option
.\" include-ndb option: mysql-test-run.pl
\fB\-\-include\-ndb\fR
.sp
Run also tests that need Cluster\&. This is the default behavior up to MySQL 5\&.1\&.51\&. From MySQL 5\&.1\&.52 this option has been added to re\-enable running Cluster tests\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: manual-ddd option
.\" manual-ddd option: mysql-test-run.pl
\fB\-\-manual\-ddd\fR
.sp
Use a server that has already been started by the user in the
\fBddd\fR
debugger\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: manual-debug option
.\" manual-debug option: mysql-test-run.pl
\fB\-\-manual\-debug\fR
.sp
Use a server that has already been started by the user in a debugger\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: manual-gdb option
.\" manual-gdb option: mysql-test-run.pl
\fB\-\-manual\-gdb\fR
.sp
Use a server that has already been started by the user in the
\fBgdb\fR
debugger\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: mark-progress option
.\" mark-progress option: mysql-test-run.pl
\fB\-\-mark\-progress\fR
.sp
Marks progress with timing (in milliseconds) and line number in
var/log/\fItestname\fR\&.progress\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: max-connections option
.\" max-connections option: mysql-test-run.pl
\fB\-\-max\-connections=\fR\fB\fInum\fR\fR
.sp
The maximum number of simultaneous server connections that may be used per test\&. If not set, the maximum is 128\&. Minimum allowed limit is 8, maximum is 5120\&. Corresponds to the same option for
\fBmysqltest\fR\&.
.sp
This option is available from MySQL 5\&.1\&.45\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: max-save-core option
.\" max-save-core option: mysql-test-run.pl
\fB\-\-max\-save\-core=\fR\fB\fIN\fR\fR
.sp
Limit the number of core files saved, to avoid filling up disks in case of a frequently crashing server\&. Defaults to 5, set to 0 for no limit\&. May also be set with the environment variable
MTR_MAX_SAVE_CORE
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: max-save-datadir option
.\" max-save-datadir option: mysql-test-run.pl
\fB\-\-max\-save\-datadir=\fR\fB\fIN\fR\fR
.sp
Limit the number of data directories saved after failed tests, to avoid filling up disks in case of frequent failures\&. Defaults to 20, set to 0 for no limit\&. May also be set with the environment variable
MTR_MAX_SAVE_DATADIR
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: max-test-fail option
.\" max-test-fail option: mysql-test-run.pl
\fB\-\-max\-test\-fail=\fR\fB\fIN\fR\fR
.sp
Stop execution after the specified number of tests have failed, to avoid using up resources (and time) in case of massive failures\&. retries are noe counted, nor are failures of tests marked experimental\&. Defaults to 10, set to 0 for no limit\&. May also be set with the environment variable
MTR_MAX_TEST_FAIL
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: mem option
.\" mem option: mysql-test-run.pl
\fB\-\-mem\fR
.sp
This option is not supported on Windows\&.
.sp
Run the test suite in memory, using tmpfs or ramdisk\&. This can decrease test times significantly, in particular if you would otherwise be running over a remote file system\&.
\fBmysql\-test\-run\&.pl\fR
attempts to find a suitable location using a built\-in list of standard locations for tmpfs and puts the
var
directory there\&. This option also affects placement of temporary files, which are created in
var/tmp\&.
.sp
The default list includes
/dev/shm\&. You can also enable this option by setting the environment variable
MTR_MEM[=\fIdir_name\fR]\&. If
\fIdir_name\fR
is given, it is added to the beginning of the list of locations to search, so it takes precedence over any built\-in locations\&.
.sp
Once you have run tests with
\fB\-\-mem\fR
within a
mysql\-testdirectory, a soflink
var
will have been set up to the temporary directory, and this will be re\-used the next time, until the soflink is deleted\&. Thus, you do not have to repeat the
\fB\-\-mem\fR
option next time\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: mysqld option
.\" mysqld option: mysql-test-run.pl
\fB\-\-mysqld=\fR\fB\fIvalue\fR\fR
.sp
Extra option to pass to
\fBmysqld\fR\&. Only one option may be specified in
\fIvalue\fR; to specify more than one, use additional
\fB\-\-mysqld\fR
options\&. See
Section\ \&4.9, \(lqPassing Options from mysql-test-run.pl to mysqld or mysqltest\(rq\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: ndb-connectstring option
.\" ndb-connectstring option: mysql-test-run.pl
\fB\-\-ndb\-connectstring=\fR\fB\fIstr\fR\fR
.sp
Pass
\fB\-\-ndb\-connectstring=\fR\fB\fIstr\fR\fR
to the master MySQL server\&. This option also prevents
\fBmysql\-test\-run\&.pl\fR
from starting a cluster\&. It is assumed that there is already a cluster running to which the server can connect with the given connectstring\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: nocheck-testcases option
.\" nocheck-testcases option: mysql-test-run.pl
\fB\-\-nocheck\-testcases\fR
.sp
Disable the check for test case side effects; see
\fB\-\-check\-testcases\fR
for a description\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: noreorder option
.\" noreorder option: mysql-test-run.pl
\fB\-\-noreorder\fR
.sp
Do not reorder tests to reduce number of restarts, but run them in exactly the order given\&. If a whole suite is to be run, the tests are run in alphabetic order, though similiar combinations will be grouped together\&. If more than one suite is listed, the tests are run one suite at a time, in the order listed\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: notimer option
.\" notimer option: mysql-test-run.pl
\fB\-\-notimer\fR
.sp
Cause
\fBmysqltest\fR
not to generate a timing file\&. The effect of this is that the report from each test case does not include the timing in milliseconds as it normally does\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: nowarnings option
.\" nowarnings option: mysql-test-run.pl
\fB\-\-nowarnings\fR
.sp
Do not look for and report errors and warning in the server logs\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: parallel option
.\" parallel option: mysql-test-run.pl
\fB\-\-parallel={\fR\fB\fIN\fR\fR\fB|auto}\fR
.sp
Run tests using
\fIN\fR
parallel threads\&. By default, 1 thread is used\&. Use
\fB\-\-parallel=auto\fR
for auto\-setting of
\fIN\fR\&. The auto value was added in MySQL 5\&.1\&.36\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: port-base option
.\" port-base option: mysql-test-run.pl
\fB\-\-port\-base=\fR\fB\fIP\fR\fR
.sp
Specify base of port numbers to be used; a block of 10 will be allocated\&.
\fIP\fR
should be divisible by 10; if it is not, it will be rounded down\&. If running with more than one parallel test thread, thread 2 will use the next block of 10 and so on\&.
.sp
If the port number is given as
auto, which is also the default,
\fBmysql\-test\-run\&.pl\fRwill allocate a number unique to this host\&. The value may also be given with the environment variable
MTR_PORT_BASE\&.
.sp
\fB\-\-port\-base\fR
was added in MySQL 5\&.1\&.45 as a more logical alternative to
\fB\-\-build\-thread\fR\&. If both are used,
\fB\-\-port\-base\fR
takes presedence\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: print-testcases option
.\" print-testcases option: mysql-test-run.pl
\fB\-\-print\-testcases\fR
.sp
Do not run any tests, but print details about all tests, in the order they would have been run\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: ps-protocol option
.\" ps-protocol option: mysql-test-run.pl
\fB\-\-ps\-protocol\fR
.sp
Pass the
\fB\-\-ps\-protocol\fR
option to
\fBmysqltest\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: record option
.\" record option: mysql-test-run.pl
\fB\-\-record\fR
.sp
Pass the
\fB\-\-record\fR
option to
\fBmysqltest\fR\&. This option requires a specific test case to be named on the command line\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: reorder option
.\" reorder option: mysql-test-run.pl
\fB\-\-reorder\fR
.sp
Reorder tests to minimize the number of server restarts needed\&. This is the default behavior\&. There is no guarantee that a particular set of tests will always end up in the same order\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: repeat option
.\" repeat option: mysql-test-run.pl
\fB\-\-repeat=\fR\fB\fIN\fR\fR
.sp
Run each test
\fIN\fR
number of times\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: report-features option
.\" report-features option: mysql-test-run.pl
\fB\-\-report\-features\fR
.sp
Display the output of
SHOW ENGINES
and
SHOW VARIABLES\&. This can be used to verify that binaries are built with all required features\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: retry option
.\" retry option: mysql-test-run.pl
\fB\-\-retry=\fR\fB\fIN\fR\fR
.sp
If a test fails, it is retried up to a maximum of
\fIN\fR
runs, but will terminate after 2 failures\&. Default is 3, set to 1 or 0 for no retries\&. This option has no effect unless
\fB\-\-force\fR
is also used; without it, test execution will terminate after the first failure\&.
.sp
The
\fB\-\-retry\fR
and
\fB\-\-retry\-failure\fR
options do not affect how many times a test repeated with
\fB\-\-repeat\fR
may fail in total, as each repetition is considered a new test case, which may in turn be retried if it fails\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: retry-failure option
.\" retry-failure option: mysql-test-run.pl
\fB\-\-retry\-failure=\fR\fB\fIN\fR\fR
.sp
Allow a failed and retried test to fail more than the default 2 times before giving it up\&. Setting it to 0 or 1 effectively turns off retries
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: shutdown-timeout option
.\" shutdown-timeout option: mysql-test-run.pl
\fB\-\-shutdown\-timeout=\fR\fB\fISECONDS\fR\fR
.sp
Max number of seconds to wait for servers to do controlled shutdown before killing them\&. Default is 10\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: skip-combinations option
.\" skip-combinations option: mysql-test-run.pl
\fB\-\-skip\-combinations\fR
.sp
Do not apply combinations; ignore combinations file or option\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: skip-ndbcluster option
.\" skip-ndbcluster option: mysql-test-run.pl
\fB\-\-skip\-ndbcluster\fR,
.\" mysql-test-run.pl: skip-ndb option
.\" skip-ndb option: mysql-test-run.pl
\fB\-\-skip\-ndb\fR
.sp
Do not start NDB Cluster; skip Cluster test cases\&. From MySQL 5\&.1\&.52, this is the default and so this option does not do anything but is kept for backwards compatibility\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: skip-ndbcluster-slave option
.\" skip-ndbcluster-slave option: mysql-test-run.pl
\fB\-\-skip\-ndbcluster\-slave\fR,
.\" mysql-test-run.pl: skip-ndb-slave option
.\" skip-ndb-slave option: mysql-test-run.pl
\fB\-\-skip\-ndb\-slave\fR
.sp
Do not start an NDB Cluster slave\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: skip-rpl option
.\" skip-rpl option: mysql-test-run.pl
\fB\-\-skip\-rpl\fR
.sp
Skip replication test cases\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: skip-ssl option
.\" skip-ssl option: mysql-test-run.pl
\fB\-\-skip\-ssl\fR
.sp
Do not start
\fBmysqld\fR
with support for SSL connections\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: skip-test option
.\" skip-test option: mysql-test-run.pl
\fB\-\-skip\-test=\fR\fB\fIregex\fR\fR
.sp
Specify a regular expression to be applied to test case names\&. Cases with names that match the expression are skipped\&. tests to skip\&.
.sp
The argument for the
\fB\-\-skip\-test\fR
option allows more flexible specification of which tests to skip\&. If the argument contains a pattern metacharacter other than a lone period, it is interpreted as a Perl regular expression and applies to test names that match the pattern\&. See the description of the
\fB\-\-do\-test\fR
option for details\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB\-\-skip\-*\fR
.sp
\fB\-\-skip\-*\fR
options not otherwise recognized by
\fBmysql\-test\-run\&.pl\fR
are passed to the master server\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: sleep option
.\" sleep option: mysql-test-run.pl
\fB\-\-sleep=\fR\fB\fIN\fR\fR
.sp
Pass
\fB\-\-sleep=\fR\fB\fIN\fR\fR
to
\fBmysqltest\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: sp-protocol option
.\" sp-protocol option: mysql-test-run.pl
\fB\-\-sp\-protocol\fR
.sp
Pass the
\fB\-\-sp\-protocol\fR
option to
\fBmysqltest\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: ssl option
.\" ssl option: mysql-test-run.pl
\fB\-\-ssl\fR
.sp
If
\fBmysql\-test\-run\&.pl\fR
is started with the
\fB\-\-ssl\fR
option, it sets up a secure conection for all test cases\&. In this case, if
\fBmysqld\fR
does not support SSL,
\fBmysql\-test\-run\&.pl\fR
exits with an error message:
Couldn\'t find support for SSL
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: start option
.\" start option: mysql-test-run.pl
\fB\-\-start\fR
.sp
Initialize and start servers with the startup settings for the specified test case\&. You can use this option to start a server to which you can connect later\&. For example, after building a source distribution you can start a server and connect to it with the
\fBmysql\fR
client like this:
.sp
.if n \{\
.RS 4
.\}
.nf
shell> \fBcd mysql\-test\fR
shell> \fB\&./mysql\-test\-run\&.pl \-\-start alias &\fR
shell> \fB\&.\&./mysql \-S \&./var/tmp/master\&.sock \-h localhost \-u root\fR
.fi
.if n \{\
.RE
.\}
.sp
If no tests are named on the command line, the server(s) will be started with settings for the first test that would have been run without the
\fB\-\-start\fR
option\&.
.sp
\fBmysql\-test\-run\&.pl\fR
will stop once the server has been started, but will terminate if the server dies\&. If killed, it will also shut down the server\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: start-and-exit option
.\" start-and-exit option: mysql-test-run.pl
\fB\-\-start\-and\-exit\fR
.sp
This is similar to
\fB\-\-start\fR, but
\fBmysql\-test\-run\&.pl\fR
terminates once the server has been started, leaving just the server process running\&.
.sp
Tha
\fB\-\-start\-and\-exit\fR
was available with version 1 of
\fBmysql\-test\-run\&.pl\fR
(unlike
\fB\-\-start\fR
which came with version 2), and is again supported in version 2 from MySQL 5\&.1\&.51\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: start-dirty option
.\" start-dirty option: mysql-test-run.pl
\fB\-\-start\-dirty\fR
.sp
This is similar to
\fB\-\-start\fR, but will skip the database initialization phase and assume that database files are already available\&. Usually this means you must have run another test first\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: start-from option
.\" start-from option: mysql-test-run.pl
\fB\-\-start\-from=\fR\fB\fItest_name\fR\fR
.sp
\fBmysql\-test\-run\&.pl\fR
sorts the list of names of the test cases to be run, and then begins with
\fItest_name\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: strace-client option
.\" strace-client option: mysql-test-run.pl
\fB\-\-strace\-client\fR
.sp
Create
\fBstrace\fR
output for
\fBmysqltest\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: suite option
.\" suite option: mysql-test-run.pl
\fB\-\-suite=\fR\fB\fIsuite_name\fR\fR
.sp
Run the named test suite\&. The default name is
main
(the regular test suite located in the
mysql\-test
directory)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: suite-timeout option
.\" suite-timeout option: mysql-test-run.pl
\fB\-\-suite\-timeout=\fR\fB\fIminutes\fR\fR
.sp
Specify the maximum test suite runtime\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: testcase-timeout option
.\" testcase-timeout option: mysql-test-run.pl
\fB\-\-testcase\-timeout\fR
.sp
Specify the maximum test case runtime\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: timediff option
.\" timediff option: mysql-test-run.pl
\fB\-\-timediff\fR
.sp
Adds to each test report for a test case, the total time in sconds and milliseconds passed since the preceding test ended\&. This option can only be used together with
\fB\-\-timestamp\fR, and has no effect without it\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: timer option
.\" timer option: mysql-test-run.pl
\fB\-\-timer\fR
.sp
Cause
\fBmysqltest\fR
to generate a timing file\&. The default file is named
\&./var/log/timer\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: timestamp option
.\" timestamp option: mysql-test-run.pl
\fB\-\-timestamp\fR
.sp
Prints a timestamp before the test case name in each test report line, showing when the test ended\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: tmpdir option
.\" tmpdir option: mysql-test-run.pl
\fB\-\-tmpdir=\fR\fB\fIpath\fR\fR
.sp
The directory where temporary file are stored\&. The default location is
\&./var/tmp\&. The environment variable
MYSQL_TMP_DIR
will be set to the path for this directory, whether it has the default value or has been set explicitly\&. This may be referred to in tests\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: user option
.\" user option: mysql-test-run.pl
\fB\-\-user=\fR\fB\fIuser_name\fR\fR
.sp
The MySQL user name to use when connecting to the server\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: user-args option
.\" user-args option: mysql-test-run.pl
\fB\-\-user\-args\fR
.sp
Drops all non\-essential command line arguments to the
\fBmysqld\fR
server, except those supplied with
\fB\-\-mysqld\fR
arguemnts, if any\&. Only works in combination with
\fB\-\-start\fR,
\fB\-\-start\-and\-exit\fR
or
\fB\-\-start\-dirty\fR, and only if no test name is given\&.
.sp
The
\fB\-\-user\-args\fR
option was added in MySQL 5\&.1\&.51\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: valgrind option
.\" valgrind option: mysql-test-run.pl
\fB\-\-valgrind\fR
.sp
Run
\fBmysqltest\fR
and
\fBmysqld\fR
with
\fBvalgrind\fR\&. Thiks and the following
\fB\-\-valgrind\fR
options require that the executables have been build with
\fBvalgrind\fR
support\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: valgrind-mysqld option
.\" valgrind-mysqld option: mysql-test-run.pl
\fB\-\-valgrind\-mysqld\fR
.sp
Run the
\fBmysqld\fR
server with
\fBvalgrind\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: valgrind-mysqltest option
.\" valgrind-mysqltest option: mysql-test-run.pl
\fB\-\-valgrind\-mysqltest\fR
.sp
Run
\fBmysqltest\fR
with
\fBvalgrind\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: valgrind-options option
.\" valgrind-options option: mysql-test-run.pl
\fB\-\-valgrind\-option=\fR\fB\fIstr\fR\fR
.sp
Extra options to pass to
\fBvalgrind\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: valgrind-path option
.\" valgrind-path option: mysql-test-run.pl
\fB\-\-valgrind\-path=\fR\fB\fIpath\fR\fR
.sp
Specify the path name to the
\fBvalgrind\fR
executable\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: vardir option
.\" vardir option: mysql-test-run.pl
\fB\-\-vardir=\fR\fB\fIpath\fR\fR
.sp
Specify the path where files generated during the test run are stored\&. The default location is
\&./var\&. The environment variable
MYSQLTEST_VARDIR
will be set to the path for this directory, whether it has the default value or has been set explicitly\&. This may be referred to in tests\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: verbose option
.\" verbose option: mysql-test-run.pl
\fB\-\-verbose\fR
.sp
Give more verbose output regarding test execution\&. Use the option twice to get even more output\&. Note that the output generated within each test case is not affected\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: verbose-restart option
.\" verbose-restart option: mysql-test-run.pl
\fB\-\-verbose\-restart\fR
.sp
Write when and why servers are restarted between test cases\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: view-protocol option
.\" view-protocol option: mysql-test-run.pl
\fB\-\-view\-protocol\fR
.sp
Pass the
\fB\-\-view\-protocol\fR
option to
\fBmysqltest\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: vs-config option
.\" vs-config option: mysql-test-run.pl
\fB\-\-vs\-config=\fR\fB\fIconfig_val\fR\fR
.sp
Specify the configuration used to build MySQL (for example,
\fB\-\-vs\-config=debug\fR
\fB\-\-vs\-config=release\fR)\&. This option is for Windows only\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: wait-all option
.\" wait-all option: mysql-test-run.pl
\fB\-\-wait\-all\fR
.sp
If
\fB\-\-start\fR
or
\fB\-\-start\-dirty\fR
is used, wait for all servers to exit before termination\&. Otherise, it will terminate if one (of several) servers is restarted\&.
.sp
This option was added in MySQL 5\&.1\&.36\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: warnings option
.\" warnings option: mysql-test-run.pl
\fB\-\-warnings\fR
.sp
Search the server log for errors or warning after each test and report any suspicious ones; if any are found, the test will be marked as failed\&. This is the default behavior, it may be turned off with
\fB\-\-nowarnings\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mysql-test-run.pl: with-ndbcluster-only option
.\" with-ndbcluster-only option: mysql-test-run.pl
\fB\-\-with\-ndbcluster\-only\fR
.sp
Run only test cases that have
ndb
in their name\&.
.RE
.SH "COPYRIGHT"
.br
.PP
Copyright \(co 2007, 2010, Oracle and/or its affiliates. All rights reserved.
.PP
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
.PP
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
.PP
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
.sp
.SH "SEE ALSO"
For more information, please refer to the MySQL Reference Manual,
which may already be installed locally and which is also available
online at http://dev.mysql.com/doc/.
.SH AUTHOR
Oracle Corporation (http://dev.mysql.com/).
